// 高阶函数作为返回值

// function mackFn(){
//     let msg = "Hello function"
//     return function(){
//         console.log(msg)
//     }
// }

//const fn = mackFn()
//fn()
// mackFn()()

function once (fn) {
    let done = false
    return function(){
        if(!done){
            done = true
            return fn.apply(this, arguments)
        }
    }
}

let pay = once(function(money){
    console.log(`支付：${money} RMB`)
})

pay(5)
pay(3)
pay(4)
pay(2)